#ifndef __MOTOR_CONTROL_h__
#define __MOTOR_CONTROL_h__

#include "ti_msp_dl_config.h"
#include "PWM.h"
#include "PID.h"
#include "encoder.h"

/**
 * @brief A轮速度PID控制
 * @param target_speed 目标速度
 */
void Speed_PID_Control_A(float target_speed);

/**
 * @brief B轮速度PID控制
 * @param target_speed 目标速度
 */
void Speed_PID_Control_B(float target_speed);

/**
 * @brief 速度PID控制主函数（每10ms调用一次）
 */
void speed_PID_proc(void);

/**
 * @brief 设置A轮目标速度
 * @param speed 目标速度值
 */
void set_target_speed_A(float speed);

/**
 * @brief 设置B轮目标速度  
 * @param speed 目标速度值
 */
void set_target_speed_B(float speed);

/**
 * @brief 获取当前A轮速度
 * @return 当前A轮速度
 */
float get_current_speed_A(void);

/**
 * @brief 获取当前B轮速度
 * @return 当前B轮速度
 */
float get_current_speed_B(void);

/**
 * @brief A轮PID参数调整函数（用于调试）
 * @param kp 比例系数
 * @param ki 积分系数
 * @param kd 微分系数
 */
void tune_pid_parameters_A(float kp, float ki, float kd);

/**
 * @brief B轮PID参数调整函数（用于调试）
 * @param kp 比例系数
 * @param ki 积分系数
 * @param kd 微分系数
 */
void tune_pid_parameters_B(float kp, float ki, float kd);


#endif


